package com.xcx.bo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DouyinUnlockExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public DouyinUnlockExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUnlockIdIsNull() {
            addCriterion("unlock_id is null");
            return (Criteria) this;
        }

        public Criteria andUnlockIdIsNotNull() {
            addCriterion("unlock_id is not null");
            return (Criteria) this;
        }

        public Criteria andUnlockIdEqualTo(String value) {
            addCriterion("unlock_id =", value, "unlockId");
            return (Criteria) this;
        }

        public Criteria andUnlockIdNotEqualTo(String value) {
            addCriterion("unlock_id <>", value, "unlockId");
            return (Criteria) this;
        }

        public Criteria andUnlockIdGreaterThan(String value) {
            addCriterion("unlock_id >", value, "unlockId");
            return (Criteria) this;
        }

        public Criteria andUnlockIdGreaterThanOrEqualTo(String value) {
            addCriterion("unlock_id >=", value, "unlockId");
            return (Criteria) this;
        }

        public Criteria andUnlockIdLessThan(String value) {
            addCriterion("unlock_id <", value, "unlockId");
            return (Criteria) this;
        }

        public Criteria andUnlockIdLessThanOrEqualTo(String value) {
            addCriterion("unlock_id <=", value, "unlockId");
            return (Criteria) this;
        }

        public Criteria andUnlockIdLike(String value) {
            addCriterion("unlock_id like", value, "unlockId");
            return (Criteria) this;
        }

        public Criteria andUnlockIdNotLike(String value) {
            addCriterion("unlock_id not like", value, "unlockId");
            return (Criteria) this;
        }

        public Criteria andUnlockIdIn(List<String> values) {
            addCriterion("unlock_id in", values, "unlockId");
            return (Criteria) this;
        }

        public Criteria andUnlockIdNotIn(List<String> values) {
            addCriterion("unlock_id not in", values, "unlockId");
            return (Criteria) this;
        }

        public Criteria andUnlockIdBetween(String value1, String value2) {
            addCriterion("unlock_id between", value1, value2, "unlockId");
            return (Criteria) this;
        }

        public Criteria andUnlockIdNotBetween(String value1, String value2) {
            addCriterion("unlock_id not between", value1, value2, "unlockId");
            return (Criteria) this;
        }

        public Criteria andUserNoIsNull() {
            addCriterion("user_no is null");
            return (Criteria) this;
        }

        public Criteria andUserNoIsNotNull() {
            addCriterion("user_no is not null");
            return (Criteria) this;
        }

        public Criteria andUserNoEqualTo(String value) {
            addCriterion("user_no =", value, "userNo");
            return (Criteria) this;
        }

        public Criteria andUserNoNotEqualTo(String value) {
            addCriterion("user_no <>", value, "userNo");
            return (Criteria) this;
        }

        public Criteria andUserNoGreaterThan(String value) {
            addCriterion("user_no >", value, "userNo");
            return (Criteria) this;
        }

        public Criteria andUserNoGreaterThanOrEqualTo(String value) {
            addCriterion("user_no >=", value, "userNo");
            return (Criteria) this;
        }

        public Criteria andUserNoLessThan(String value) {
            addCriterion("user_no <", value, "userNo");
            return (Criteria) this;
        }

        public Criteria andUserNoLessThanOrEqualTo(String value) {
            addCriterion("user_no <=", value, "userNo");
            return (Criteria) this;
        }

        public Criteria andUserNoLike(String value) {
            addCriterion("user_no like", value, "userNo");
            return (Criteria) this;
        }

        public Criteria andUserNoNotLike(String value) {
            addCriterion("user_no not like", value, "userNo");
            return (Criteria) this;
        }

        public Criteria andUserNoIn(List<String> values) {
            addCriterion("user_no in", values, "userNo");
            return (Criteria) this;
        }

        public Criteria andUserNoNotIn(List<String> values) {
            addCriterion("user_no not in", values, "userNo");
            return (Criteria) this;
        }

        public Criteria andUserNoBetween(String value1, String value2) {
            addCriterion("user_no between", value1, value2, "userNo");
            return (Criteria) this;
        }

        public Criteria andUserNoNotBetween(String value1, String value2) {
            addCriterion("user_no not between", value1, value2, "userNo");
            return (Criteria) this;
        }

        public Criteria andShareTicketIsNull() {
            addCriterion("share_ticket is null");
            return (Criteria) this;
        }

        public Criteria andShareTicketIsNotNull() {
            addCriterion("share_ticket is not null");
            return (Criteria) this;
        }

        public Criteria andShareTicketEqualTo(String value) {
            addCriterion("share_ticket =", value, "shareTicket");
            return (Criteria) this;
        }

        public Criteria andShareTicketNotEqualTo(String value) {
            addCriterion("share_ticket <>", value, "shareTicket");
            return (Criteria) this;
        }

        public Criteria andShareTicketGreaterThan(String value) {
            addCriterion("share_ticket >", value, "shareTicket");
            return (Criteria) this;
        }

        public Criteria andShareTicketGreaterThanOrEqualTo(String value) {
            addCriterion("share_ticket >=", value, "shareTicket");
            return (Criteria) this;
        }

        public Criteria andShareTicketLessThan(String value) {
            addCriterion("share_ticket <", value, "shareTicket");
            return (Criteria) this;
        }

        public Criteria andShareTicketLessThanOrEqualTo(String value) {
            addCriterion("share_ticket <=", value, "shareTicket");
            return (Criteria) this;
        }

        public Criteria andShareTicketLike(String value) {
            addCriterion("share_ticket like", value, "shareTicket");
            return (Criteria) this;
        }

        public Criteria andShareTicketNotLike(String value) {
            addCriterion("share_ticket not like", value, "shareTicket");
            return (Criteria) this;
        }

        public Criteria andShareTicketIn(List<String> values) {
            addCriterion("share_ticket in", values, "shareTicket");
            return (Criteria) this;
        }

        public Criteria andShareTicketNotIn(List<String> values) {
            addCriterion("share_ticket not in", values, "shareTicket");
            return (Criteria) this;
        }

        public Criteria andShareTicketBetween(String value1, String value2) {
            addCriterion("share_ticket between", value1, value2, "shareTicket");
            return (Criteria) this;
        }

        public Criteria andShareTicketNotBetween(String value1, String value2) {
            addCriterion("share_ticket not between", value1, value2, "shareTicket");
            return (Criteria) this;
        }

        public Criteria andOnLoadIsNull() {
            addCriterion("on_load is null");
            return (Criteria) this;
        }

        public Criteria andOnLoadIsNotNull() {
            addCriterion("on_load is not null");
            return (Criteria) this;
        }

        public Criteria andOnLoadEqualTo(Integer value) {
            addCriterion("on_load =", value, "onLoad");
            return (Criteria) this;
        }

        public Criteria andOnLoadNotEqualTo(Integer value) {
            addCriterion("on_load <>", value, "onLoad");
            return (Criteria) this;
        }

        public Criteria andOnLoadGreaterThan(Integer value) {
            addCriterion("on_load >", value, "onLoad");
            return (Criteria) this;
        }

        public Criteria andOnLoadGreaterThanOrEqualTo(Integer value) {
            addCriterion("on_load >=", value, "onLoad");
            return (Criteria) this;
        }

        public Criteria andOnLoadLessThan(Integer value) {
            addCriterion("on_load <", value, "onLoad");
            return (Criteria) this;
        }

        public Criteria andOnLoadLessThanOrEqualTo(Integer value) {
            addCriterion("on_load <=", value, "onLoad");
            return (Criteria) this;
        }

        public Criteria andOnLoadIn(List<Integer> values) {
            addCriterion("on_load in", values, "onLoad");
            return (Criteria) this;
        }

        public Criteria andOnLoadNotIn(List<Integer> values) {
            addCriterion("on_load not in", values, "onLoad");
            return (Criteria) this;
        }

        public Criteria andOnLoadBetween(Integer value1, Integer value2) {
            addCriterion("on_load between", value1, value2, "onLoad");
            return (Criteria) this;
        }

        public Criteria andOnLoadNotBetween(Integer value1, Integer value2) {
            addCriterion("on_load not between", value1, value2, "onLoad");
            return (Criteria) this;
        }

        public Criteria andIsUnlockIsNull() {
            addCriterion("is_unlock is null");
            return (Criteria) this;
        }

        public Criteria andIsUnlockIsNotNull() {
            addCriterion("is_unlock is not null");
            return (Criteria) this;
        }

        public Criteria andIsUnlockEqualTo(String value) {
            addCriterion("is_unlock =", value, "isUnlock");
            return (Criteria) this;
        }

        public Criteria andIsUnlockNotEqualTo(String value) {
            addCriterion("is_unlock <>", value, "isUnlock");
            return (Criteria) this;
        }

        public Criteria andIsUnlockGreaterThan(String value) {
            addCriterion("is_unlock >", value, "isUnlock");
            return (Criteria) this;
        }

        public Criteria andIsUnlockGreaterThanOrEqualTo(String value) {
            addCriterion("is_unlock >=", value, "isUnlock");
            return (Criteria) this;
        }

        public Criteria andIsUnlockLessThan(String value) {
            addCriterion("is_unlock <", value, "isUnlock");
            return (Criteria) this;
        }

        public Criteria andIsUnlockLessThanOrEqualTo(String value) {
            addCriterion("is_unlock <=", value, "isUnlock");
            return (Criteria) this;
        }

        public Criteria andIsUnlockLike(String value) {
            addCriterion("is_unlock like", value, "isUnlock");
            return (Criteria) this;
        }

        public Criteria andIsUnlockNotLike(String value) {
            addCriterion("is_unlock not like", value, "isUnlock");
            return (Criteria) this;
        }

        public Criteria andIsUnlockIn(List<String> values) {
            addCriterion("is_unlock in", values, "isUnlock");
            return (Criteria) this;
        }

        public Criteria andIsUnlockNotIn(List<String> values) {
            addCriterion("is_unlock not in", values, "isUnlock");
            return (Criteria) this;
        }

        public Criteria andIsUnlockBetween(String value1, String value2) {
            addCriterion("is_unlock between", value1, value2, "isUnlock");
            return (Criteria) this;
        }

        public Criteria andIsUnlockNotBetween(String value1, String value2) {
            addCriterion("is_unlock not between", value1, value2, "isUnlock");
            return (Criteria) this;
        }

        public Criteria andNowMaxLookIsNull() {
            addCriterion("now_max_look is null");
            return (Criteria) this;
        }

        public Criteria andNowMaxLookIsNotNull() {
            addCriterion("now_max_look is not null");
            return (Criteria) this;
        }

        public Criteria andNowMaxLookEqualTo(Integer value) {
            addCriterion("now_max_look =", value, "nowMaxLook");
            return (Criteria) this;
        }

        public Criteria andNowMaxLookNotEqualTo(Integer value) {
            addCriterion("now_max_look <>", value, "nowMaxLook");
            return (Criteria) this;
        }

        public Criteria andNowMaxLookGreaterThan(Integer value) {
            addCriterion("now_max_look >", value, "nowMaxLook");
            return (Criteria) this;
        }

        public Criteria andNowMaxLookGreaterThanOrEqualTo(Integer value) {
            addCriterion("now_max_look >=", value, "nowMaxLook");
            return (Criteria) this;
        }

        public Criteria andNowMaxLookLessThan(Integer value) {
            addCriterion("now_max_look <", value, "nowMaxLook");
            return (Criteria) this;
        }

        public Criteria andNowMaxLookLessThanOrEqualTo(Integer value) {
            addCriterion("now_max_look <=", value, "nowMaxLook");
            return (Criteria) this;
        }

        public Criteria andNowMaxLookIn(List<Integer> values) {
            addCriterion("now_max_look in", values, "nowMaxLook");
            return (Criteria) this;
        }

        public Criteria andNowMaxLookNotIn(List<Integer> values) {
            addCriterion("now_max_look not in", values, "nowMaxLook");
            return (Criteria) this;
        }

        public Criteria andNowMaxLookBetween(Integer value1, Integer value2) {
            addCriterion("now_max_look between", value1, value2, "nowMaxLook");
            return (Criteria) this;
        }

        public Criteria andNowMaxLookNotBetween(Integer value1, Integer value2) {
            addCriterion("now_max_look not between", value1, value2, "nowMaxLook");
            return (Criteria) this;
        }

        public Criteria andMaxUnlockIsNull() {
            addCriterion("max_unlock is null");
            return (Criteria) this;
        }

        public Criteria andMaxUnlockIsNotNull() {
            addCriterion("max_unlock is not null");
            return (Criteria) this;
        }

        public Criteria andMaxUnlockEqualTo(Integer value) {
            addCriterion("max_unlock =", value, "maxUnlock");
            return (Criteria) this;
        }

        public Criteria andMaxUnlockNotEqualTo(Integer value) {
            addCriterion("max_unlock <>", value, "maxUnlock");
            return (Criteria) this;
        }

        public Criteria andMaxUnlockGreaterThan(Integer value) {
            addCriterion("max_unlock >", value, "maxUnlock");
            return (Criteria) this;
        }

        public Criteria andMaxUnlockGreaterThanOrEqualTo(Integer value) {
            addCriterion("max_unlock >=", value, "maxUnlock");
            return (Criteria) this;
        }

        public Criteria andMaxUnlockLessThan(Integer value) {
            addCriterion("max_unlock <", value, "maxUnlock");
            return (Criteria) this;
        }

        public Criteria andMaxUnlockLessThanOrEqualTo(Integer value) {
            addCriterion("max_unlock <=", value, "maxUnlock");
            return (Criteria) this;
        }

        public Criteria andMaxUnlockIn(List<Integer> values) {
            addCriterion("max_unlock in", values, "maxUnlock");
            return (Criteria) this;
        }

        public Criteria andMaxUnlockNotIn(List<Integer> values) {
            addCriterion("max_unlock not in", values, "maxUnlock");
            return (Criteria) this;
        }

        public Criteria andMaxUnlockBetween(Integer value1, Integer value2) {
            addCriterion("max_unlock between", value1, value2, "maxUnlock");
            return (Criteria) this;
        }

        public Criteria andMaxUnlockNotBetween(Integer value1, Integer value2) {
            addCriterion("max_unlock not between", value1, value2, "maxUnlock");
            return (Criteria) this;
        }

        public Criteria andUnlockTimeIsNull() {
            addCriterion("unlock_time is null");
            return (Criteria) this;
        }

        public Criteria andUnlockTimeIsNotNull() {
            addCriterion("unlock_time is not null");
            return (Criteria) this;
        }

        public Criteria andUnlockTimeEqualTo(Date value) {
            addCriterion("unlock_time =", value, "unlockTime");
            return (Criteria) this;
        }

        public Criteria andUnlockTimeNotEqualTo(Date value) {
            addCriterion("unlock_time <>", value, "unlockTime");
            return (Criteria) this;
        }

        public Criteria andUnlockTimeGreaterThan(Date value) {
            addCriterion("unlock_time >", value, "unlockTime");
            return (Criteria) this;
        }

        public Criteria andUnlockTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("unlock_time >=", value, "unlockTime");
            return (Criteria) this;
        }

        public Criteria andUnlockTimeLessThan(Date value) {
            addCriterion("unlock_time <", value, "unlockTime");
            return (Criteria) this;
        }

        public Criteria andUnlockTimeLessThanOrEqualTo(Date value) {
            addCriterion("unlock_time <=", value, "unlockTime");
            return (Criteria) this;
        }

        public Criteria andUnlockTimeIn(List<Date> values) {
            addCriterion("unlock_time in", values, "unlockTime");
            return (Criteria) this;
        }

        public Criteria andUnlockTimeNotIn(List<Date> values) {
            addCriterion("unlock_time not in", values, "unlockTime");
            return (Criteria) this;
        }

        public Criteria andUnlockTimeBetween(Date value1, Date value2) {
            addCriterion("unlock_time between", value1, value2, "unlockTime");
            return (Criteria) this;
        }

        public Criteria andUnlockTimeNotBetween(Date value1, Date value2) {
            addCriterion("unlock_time not between", value1, value2, "unlockTime");
            return (Criteria) this;
        }

        public Criteria andExtInfoIsNull() {
            addCriterion("ext_info is null");
            return (Criteria) this;
        }

        public Criteria andExtInfoIsNotNull() {
            addCriterion("ext_info is not null");
            return (Criteria) this;
        }

        public Criteria andExtInfoEqualTo(String value) {
            addCriterion("ext_info =", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoNotEqualTo(String value) {
            addCriterion("ext_info <>", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoGreaterThan(String value) {
            addCriterion("ext_info >", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoGreaterThanOrEqualTo(String value) {
            addCriterion("ext_info >=", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoLessThan(String value) {
            addCriterion("ext_info <", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoLessThanOrEqualTo(String value) {
            addCriterion("ext_info <=", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoLike(String value) {
            addCriterion("ext_info like", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoNotLike(String value) {
            addCriterion("ext_info not like", value, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoIn(List<String> values) {
            addCriterion("ext_info in", values, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoNotIn(List<String> values) {
            addCriterion("ext_info not in", values, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoBetween(String value1, String value2) {
            addCriterion("ext_info between", value1, value2, "extInfo");
            return (Criteria) this;
        }

        public Criteria andExtInfoNotBetween(String value1, String value2) {
            addCriterion("ext_info not between", value1, value2, "extInfo");
            return (Criteria) this;
        }

        public Criteria andCreatedDateIsNull() {
            addCriterion("created_date is null");
            return (Criteria) this;
        }

        public Criteria andCreatedDateIsNotNull() {
            addCriterion("created_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedDateEqualTo(Date value) {
            addCriterion("created_date =", value, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateNotEqualTo(Date value) {
            addCriterion("created_date <>", value, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateGreaterThan(Date value) {
            addCriterion("created_date >", value, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateGreaterThanOrEqualTo(Date value) {
            addCriterion("created_date >=", value, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateLessThan(Date value) {
            addCriterion("created_date <", value, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateLessThanOrEqualTo(Date value) {
            addCriterion("created_date <=", value, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateIn(List<Date> values) {
            addCriterion("created_date in", values, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateNotIn(List<Date> values) {
            addCriterion("created_date not in", values, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateBetween(Date value1, Date value2) {
            addCriterion("created_date between", value1, value2, "createdDate");
            return (Criteria) this;
        }

        public Criteria andCreatedDateNotBetween(Date value1, Date value2) {
            addCriterion("created_date not between", value1, value2, "createdDate");
            return (Criteria) this;
        }

        public Criteria andUpdatedDateIsNull() {
            addCriterion("updated_date is null");
            return (Criteria) this;
        }

        public Criteria andUpdatedDateIsNotNull() {
            addCriterion("updated_date is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatedDateEqualTo(Date value) {
            addCriterion("updated_date =", value, "updatedDate");
            return (Criteria) this;
        }

        public Criteria andUpdatedDateNotEqualTo(Date value) {
            addCriterion("updated_date <>", value, "updatedDate");
            return (Criteria) this;
        }

        public Criteria andUpdatedDateGreaterThan(Date value) {
            addCriterion("updated_date >", value, "updatedDate");
            return (Criteria) this;
        }

        public Criteria andUpdatedDateGreaterThanOrEqualTo(Date value) {
            addCriterion("updated_date >=", value, "updatedDate");
            return (Criteria) this;
        }

        public Criteria andUpdatedDateLessThan(Date value) {
            addCriterion("updated_date <", value, "updatedDate");
            return (Criteria) this;
        }

        public Criteria andUpdatedDateLessThanOrEqualTo(Date value) {
            addCriterion("updated_date <=", value, "updatedDate");
            return (Criteria) this;
        }

        public Criteria andUpdatedDateIn(List<Date> values) {
            addCriterion("updated_date in", values, "updatedDate");
            return (Criteria) this;
        }

        public Criteria andUpdatedDateNotIn(List<Date> values) {
            addCriterion("updated_date not in", values, "updatedDate");
            return (Criteria) this;
        }

        public Criteria andUpdatedDateBetween(Date value1, Date value2) {
            addCriterion("updated_date between", value1, value2, "updatedDate");
            return (Criteria) this;
        }

        public Criteria andUpdatedDateNotBetween(Date value1, Date value2) {
            addCriterion("updated_date not between", value1, value2, "updatedDate");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}